package com.yunyao.dao.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 发票单表
 * </p>
 *
 * @author xingjishuai
 * @since 2024-07-02
 */
@Getter
@Setter
@TableName("bamu_invoice_order")
public class BamuInvoiceOrder {

    /**
     * 主键ID
     */
    private String id;

    private String processInstanceId;

    private String modelSchemeInfoId;

    private String deploymentId;

    private String processVersion;

    private String orderId;

    /**
     * 合同ID
     */
    private String contractId;

    /**
     * 合同编号
     */
    private String contractSn;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 发票单号
     */
    private String invoiceSn;

    /**
     * 发票单名称
     */
    private String invoiceName;

    /**
     * 销售Id
     */
    private String sellerId;

    /**
     * 销售名称
     */
    private String sellerName;

    /**
     * 客户Id
     */
    private String customerId;

    /**
     * 客户名称
     */
    private String customerName;

    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目地址
     */
    private String projectAddress;

    /**
     * 发票金额
     */
    private BigDecimal invoiceAmount;

    private String attachFiles;

    /**
     * 所属单位iD
     */
    private String orgId;

    /**
     * 所属单位名称
     */
    private String orgName;

    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单名称
     */
    private String orderName;

    /**
     * 收货时间
     */
    private Date receivingTime;

    /**
     * 收货联系人
     */
    private String consigneeName;

    /**
     * 联系人手机号
     */
    private String consigneePhone;

    /**
     * 附件
     */
    private String orderAttach;

    private String orderProcess;

    private String orderDesc;

    private String auditStatus;

    /**
     * 开票状态
     */
    private String invoiceStatus;

    private String invoicingStatus;

    /**
     * 来源单据日期
     */
    private String orderCreatedAt;

    /**
     * 发票类型（1=增值税专票，2=增值税普票）
     */
    private String taxType;

    /**
     * 统一社会信用代码
     */
    private String orgCredit;

    /**
     * 注册电话
     */
    private String orgPhone;

    /**
     * 注册地址
     */
    private String conpanyAddress;

    /**
     * 开户银行
     */
    private String depositBank;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 账户名称
     */
    private String bankAccountName;

    /**
     * 联行号
     */
    private String bankLinkName;

    /**
     * 发票备注
     */
    private String invoiceDesc;

    /**
     * 联系人
     */
    private String contactName;

    /**
     * 联系人地址
     */
    private String contactAddress;

    /**
     * 联系人手机
     */
    private String contactMobile;

    /**
     * 联系人邮箱
     */
    private String contactEmail;

    /**
     * 逾期费合计
     */
    private String invoiceExpireAmount;

    /**
     * 优惠合计
     */
    private BigDecimal invoiceDiscountAmount;

    /**
     * 不含税合计
     */
    private BigDecimal noTaxAmount;

    private BigDecimal taxTotalPrice;

    /**
     * 额合计
     */
    private BigDecimal taxFeeTotal;

    /**
     * 含税合计
     */
    private BigDecimal taxAmount;

    private String orderStatus;

    /**
     * 市场专员Id
     */
    private String marketId;

    /**
     * 市场专员姓名
     */
    private String marketName;

    /**
     * 市场专员日期
     */
    private Date marketDate;

    /**
     * 市场部经理Id
     */
    private String managerId;

    /**
     * 市场部经理姓名
     */
    private String managerName;

    /**
     * 采购经理提交日期
     */
    private Date managerDate;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建部门
     */
    private String createDept;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * 业务状态 1:正常
     */
    @TableField("`status`")
    private Integer status;

    /**
     * 数据删除状态0:未删除,1:删除
     */
    private Integer isDeleted;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id", fill = FieldFill.INSERT)
    private String tenantId;

    /**
     * ERP发票主键
     */
    private String invoiceId;
}
